package com.weina.dao;

import com.weina.entity.Role;
import com.weina.vo.RoleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface RoleMapper {
    /**
     * 查询角色列表
     * @param roleVo
     * @return
     */
    List<Role> findRoleList(RoleVo roleVo);

    /**
     * 添加角色
     * @param role
     * @return
     */
    Integer addRole(Role role);

    /**
     * 修改角色
     * @param role
     * @return
     */
    int updateRole(Role role);

    /**
     * 根据角色id删除角色
     * @param id
     * @return
     */
    int deleteRoleById(Integer id);

    /**
     * 根据角色id 删除当前角色的所有菜单
     * @param roleId
     */
    void deleteRoleMenu(Integer roleId);

    /**
     * 保存当前角色拥有的菜单
     * @param
     * @param roleId
     */
    void addRoleMenu(@Param("mid") String mid, @Param("roleId") Integer roleId);

    /**
     * 查询所有角色列表
     * @return
     */
    List<Map<String, Object>> findRoleListByMap();

    /**
     * 查询当前用户拥有的角色
     * @param uid
     * @return
     */
    List<Integer> findEmployeRoleByEmployeeId(Integer uid);
}
